﻿function addOption(cb, text, value) {
    var item = new Option(text, value);
    cb.options.add(item);
}

function selectOption(cb, value, hidden) {
    for (var i = 0; i <= cb.options.length - 1; i++) {
        if (cb.options[i].value == value) {
            cb.selectedIndex = i;
            return;
        }
    }
    cb.selectedIndex = 0;
    if (hidden) affectHiddenSelectedValue(cb.id, hidden);
}

function comboContainsValue(cb, value) {
    for (var i = 0; i <= cb.options.length - 1; i++) {
        if (cb.options[i].value == value) {
            return true;
        }
    }
    return false;
}

function readSelectedComboValue(cb, defaulValue) {
    var value = defaulValue;

    if (cb) {
        try {
            value = cb.options[cb.selectedIndex].value;
        } catch (e) { }
    }

    return value;
}

function affectHiddenSelectedValue(cb, hidden) {
    hidden.value = readSelectedComboValue(cb, '');
}
